package com.ncsc.lmis.model;
// Generated Feb 25, 2014 11:44:39 PM by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * SaleConditionType generated by hbm2java
 */
@Entity
@Table(name="sale_condition_type"
    ,catalog="lmis"
)
public class SaleConditionType  implements java.io.Serializable {


     private Short saleContTypeNo;
     private String saleContTypeCode;
     private String saleContTypeDescr;
     private Short vehicleTypeNo;
     private BigDecimal interestRate;
     private Short loanFee01CalcType;
     private BigDecimal loanFee01Perc;
     private BigDecimal loanFee01ValMin;
     private BigDecimal loanFee01ValMax;
     private BigDecimal loanValMin;
     private BigDecimal loanValMax;
     private Integer assetLifeMinYear;
     private Integer assetLifeMaxYear;
     private BigDecimal installmentMin;
     private Short loanFeeCalcType;
     private BigDecimal loanFeePerc;
     private BigDecimal loanFeeVal;
     private Short loanFee02CalcType;
     private BigDecimal loanFee02Perc;
     private BigDecimal loanFee02ValMin;
     private BigDecimal loanFee02ValMax;
     private Short loanFee03CalcType;
     private BigDecimal loanFee03Perc;
     private BigDecimal loanFee03ValMin;
     private BigDecimal loanFee03ValMax;
     private Short loanFee04CalcType;
     private BigDecimal loanFee04Perc;
     private BigDecimal loanFee04ValMin;
     private BigDecimal loanFee04ValMax;
     private Short loanFee05CalcType;
     private BigDecimal loanFee05Perc;
     private BigDecimal loanFee05ValMin;
     private BigDecimal loanFee05ValMax;
     private BigDecimal ccInterestRateDiscVal;
     private BigDecimal ccInterestRateDiscPerc;
     private Short statusIsActive;
     private Set<SaleConditionTypeOrgAllow> saleConditionTypeOrgAllows = new HashSet<SaleConditionTypeOrgAllow>(0);
     private Set<SaleLoanOffer> saleLoanOffers = new HashSet<SaleLoanOffer>(0);
     private Set<SaleConditionTypeLoanTerm> saleConditionTypeLoanTerms = new HashSet<SaleConditionTypeLoanTerm>(0);
     private Set<SaleLoanContract> saleLoanContracts = new HashSet<SaleLoanContract>(0);
     private Set<SaleConditionTypeCcRate> saleConditionTypeCcRates = new HashSet<SaleConditionTypeCcRate>(0);

    public SaleConditionType() {
    }

	
    public SaleConditionType(String saleContTypeCode) {
        this.saleContTypeCode = saleContTypeCode;
    }
    public SaleConditionType(String saleContTypeCode, String saleContTypeDescr, Short vehicleTypeNo, BigDecimal interestRate, Short loanFee01CalcType, BigDecimal loanFee01Perc, BigDecimal loanFee01ValMin, BigDecimal loanFee01ValMax, BigDecimal loanValMin, BigDecimal loanValMax, Integer assetLifeMinYear, Integer assetLifeMaxYear, BigDecimal installmentMin, Short loanFeeCalcType, BigDecimal loanFeePerc, BigDecimal loanFeeVal, Short loanFee02CalcType, BigDecimal loanFee02Perc, BigDecimal loanFee02ValMin, BigDecimal loanFee02ValMax, Short loanFee03CalcType, BigDecimal loanFee03Perc, BigDecimal loanFee03ValMin, BigDecimal loanFee03ValMax, Short loanFee04CalcType, BigDecimal loanFee04Perc, BigDecimal loanFee04ValMin, BigDecimal loanFee04ValMax, Short loanFee05CalcType, BigDecimal loanFee05Perc, BigDecimal loanFee05ValMin, BigDecimal loanFee05ValMax, BigDecimal ccInterestRateDiscVal, BigDecimal ccInterestRateDiscPerc, Short statusIsActive, Set<SaleConditionTypeOrgAllow> saleConditionTypeOrgAllows, Set<SaleLoanOffer> saleLoanOffers, Set<SaleConditionTypeLoanTerm> saleConditionTypeLoanTerms, Set<SaleLoanContract> saleLoanContracts, Set<SaleConditionTypeCcRate> saleConditionTypeCcRates) {
       this.saleContTypeCode = saleContTypeCode;
       this.saleContTypeDescr = saleContTypeDescr;
       this.vehicleTypeNo = vehicleTypeNo;
       this.interestRate = interestRate;
       this.loanFee01CalcType = loanFee01CalcType;
       this.loanFee01Perc = loanFee01Perc;
       this.loanFee01ValMin = loanFee01ValMin;
       this.loanFee01ValMax = loanFee01ValMax;
       this.loanValMin = loanValMin;
       this.loanValMax = loanValMax;
       this.assetLifeMinYear = assetLifeMinYear;
       this.assetLifeMaxYear = assetLifeMaxYear;
       this.installmentMin = installmentMin;
       this.loanFeeCalcType = loanFeeCalcType;
       this.loanFeePerc = loanFeePerc;
       this.loanFeeVal = loanFeeVal;
       this.loanFee02CalcType = loanFee02CalcType;
       this.loanFee02Perc = loanFee02Perc;
       this.loanFee02ValMin = loanFee02ValMin;
       this.loanFee02ValMax = loanFee02ValMax;
       this.loanFee03CalcType = loanFee03CalcType;
       this.loanFee03Perc = loanFee03Perc;
       this.loanFee03ValMin = loanFee03ValMin;
       this.loanFee03ValMax = loanFee03ValMax;
       this.loanFee04CalcType = loanFee04CalcType;
       this.loanFee04Perc = loanFee04Perc;
       this.loanFee04ValMin = loanFee04ValMin;
       this.loanFee04ValMax = loanFee04ValMax;
       this.loanFee05CalcType = loanFee05CalcType;
       this.loanFee05Perc = loanFee05Perc;
       this.loanFee05ValMin = loanFee05ValMin;
       this.loanFee05ValMax = loanFee05ValMax;
       this.ccInterestRateDiscVal = ccInterestRateDiscVal;
       this.ccInterestRateDiscPerc = ccInterestRateDiscPerc;
       this.statusIsActive = statusIsActive;
       this.saleConditionTypeOrgAllows = saleConditionTypeOrgAllows;
       this.saleLoanOffers = saleLoanOffers;
       this.saleConditionTypeLoanTerms = saleConditionTypeLoanTerms;
       this.saleLoanContracts = saleLoanContracts;
       this.saleConditionTypeCcRates = saleConditionTypeCcRates;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="SALE_CONT_TYPE_NO", unique=true, nullable=false)
    public Short getSaleContTypeNo() {
        return this.saleContTypeNo;
    }
    
    public void setSaleContTypeNo(Short saleContTypeNo) {
        this.saleContTypeNo = saleContTypeNo;
    }

    
    @Column(name="SALE_CONT_TYPE_CODE", nullable=false, length=5)
    public String getSaleContTypeCode() {
        return this.saleContTypeCode;
    }
    
    public void setSaleContTypeCode(String saleContTypeCode) {
        this.saleContTypeCode = saleContTypeCode;
    }

    
    @Column(name="SALE_CONT_TYPE_DESCR", length=100)
    public String getSaleContTypeDescr() {
        return this.saleContTypeDescr;
    }
    
    public void setSaleContTypeDescr(String saleContTypeDescr) {
        this.saleContTypeDescr = saleContTypeDescr;
    }

    
    @Column(name="VEHICLE_TYPE_NO")
    public Short getVehicleTypeNo() {
        return this.vehicleTypeNo;
    }
    
    public void setVehicleTypeNo(Short vehicleTypeNo) {
        this.vehicleTypeNo = vehicleTypeNo;
    }

    
    @Column(name="INTEREST_RATE", precision=10)
    public BigDecimal getInterestRate() {
        return this.interestRate;
    }
    
    public void setInterestRate(BigDecimal interestRate) {
        this.interestRate = interestRate;
    }

    
    @Column(name="LOAN_FEE_01_CALC_TYPE")
    public Short getLoanFee01CalcType() {
        return this.loanFee01CalcType;
    }
    
    public void setLoanFee01CalcType(Short loanFee01CalcType) {
        this.loanFee01CalcType = loanFee01CalcType;
    }

    
    @Column(name="LOAN_FEE_01_PERC", precision=10)
    public BigDecimal getLoanFee01Perc() {
        return this.loanFee01Perc;
    }
    
    public void setLoanFee01Perc(BigDecimal loanFee01Perc) {
        this.loanFee01Perc = loanFee01Perc;
    }

    
    @Column(name="LOAN_FEE_01_VAL_MIN", precision=10)
    public BigDecimal getLoanFee01ValMin() {
        return this.loanFee01ValMin;
    }
    
    public void setLoanFee01ValMin(BigDecimal loanFee01ValMin) {
        this.loanFee01ValMin = loanFee01ValMin;
    }

    
    @Column(name="LOAN_FEE_01_VAL_MAX", precision=10)
    public BigDecimal getLoanFee01ValMax() {
        return this.loanFee01ValMax;
    }
    
    public void setLoanFee01ValMax(BigDecimal loanFee01ValMax) {
        this.loanFee01ValMax = loanFee01ValMax;
    }

    
    @Column(name="LOAN_VAL_MIN", precision=15)
    public BigDecimal getLoanValMin() {
        return this.loanValMin;
    }
    
    public void setLoanValMin(BigDecimal loanValMin) {
        this.loanValMin = loanValMin;
    }

    
    @Column(name="LOAN_VAL_MAX", precision=15)
    public BigDecimal getLoanValMax() {
        return this.loanValMax;
    }
    
    public void setLoanValMax(BigDecimal loanValMax) {
        this.loanValMax = loanValMax;
    }

    
    @Column(name="ASSET_LIFE_MIN_YEAR")
    public Integer getAssetLifeMinYear() {
        return this.assetLifeMinYear;
    }
    
    public void setAssetLifeMinYear(Integer assetLifeMinYear) {
        this.assetLifeMinYear = assetLifeMinYear;
    }

    
    @Column(name="ASSET_LIFE_MAX_YEAR")
    public Integer getAssetLifeMaxYear() {
        return this.assetLifeMaxYear;
    }
    
    public void setAssetLifeMaxYear(Integer assetLifeMaxYear) {
        this.assetLifeMaxYear = assetLifeMaxYear;
    }

    
    @Column(name="INSTALLMENT_MIN", precision=15)
    public BigDecimal getInstallmentMin() {
        return this.installmentMin;
    }
    
    public void setInstallmentMin(BigDecimal installmentMin) {
        this.installmentMin = installmentMin;
    }

    
    @Column(name="LOAN_FEE_CALC_TYPE")
    public Short getLoanFeeCalcType() {
        return this.loanFeeCalcType;
    }
    
    public void setLoanFeeCalcType(Short loanFeeCalcType) {
        this.loanFeeCalcType = loanFeeCalcType;
    }

    
    @Column(name="LOAN_FEE_PERC", precision=10)
    public BigDecimal getLoanFeePerc() {
        return this.loanFeePerc;
    }
    
    public void setLoanFeePerc(BigDecimal loanFeePerc) {
        this.loanFeePerc = loanFeePerc;
    }

    
    @Column(name="LOAN_FEE_VAL", precision=10)
    public BigDecimal getLoanFeeVal() {
        return this.loanFeeVal;
    }
    
    public void setLoanFeeVal(BigDecimal loanFeeVal) {
        this.loanFeeVal = loanFeeVal;
    }

    
    @Column(name="LOAN_FEE_02_CALC_TYPE")
    public Short getLoanFee02CalcType() {
        return this.loanFee02CalcType;
    }
    
    public void setLoanFee02CalcType(Short loanFee02CalcType) {
        this.loanFee02CalcType = loanFee02CalcType;
    }

    
    @Column(name="LOAN_FEE_02_PERC", precision=10)
    public BigDecimal getLoanFee02Perc() {
        return this.loanFee02Perc;
    }
    
    public void setLoanFee02Perc(BigDecimal loanFee02Perc) {
        this.loanFee02Perc = loanFee02Perc;
    }

    
    @Column(name="LOAN_FEE_02_VAL_MIN", precision=10)
    public BigDecimal getLoanFee02ValMin() {
        return this.loanFee02ValMin;
    }
    
    public void setLoanFee02ValMin(BigDecimal loanFee02ValMin) {
        this.loanFee02ValMin = loanFee02ValMin;
    }

    
    @Column(name="LOAN_FEE_02_VAL_MAX", precision=10)
    public BigDecimal getLoanFee02ValMax() {
        return this.loanFee02ValMax;
    }
    
    public void setLoanFee02ValMax(BigDecimal loanFee02ValMax) {
        this.loanFee02ValMax = loanFee02ValMax;
    }

    
    @Column(name="LOAN_FEE_03_CALC_TYPE")
    public Short getLoanFee03CalcType() {
        return this.loanFee03CalcType;
    }
    
    public void setLoanFee03CalcType(Short loanFee03CalcType) {
        this.loanFee03CalcType = loanFee03CalcType;
    }

    
    @Column(name="LOAN_FEE_03_PERC", precision=10)
    public BigDecimal getLoanFee03Perc() {
        return this.loanFee03Perc;
    }
    
    public void setLoanFee03Perc(BigDecimal loanFee03Perc) {
        this.loanFee03Perc = loanFee03Perc;
    }

    
    @Column(name="LOAN_FEE_03_VAL_MIN", precision=10)
    public BigDecimal getLoanFee03ValMin() {
        return this.loanFee03ValMin;
    }
    
    public void setLoanFee03ValMin(BigDecimal loanFee03ValMin) {
        this.loanFee03ValMin = loanFee03ValMin;
    }

    
    @Column(name="LOAN_FEE_03_VAL_MAX", precision=10)
    public BigDecimal getLoanFee03ValMax() {
        return this.loanFee03ValMax;
    }
    
    public void setLoanFee03ValMax(BigDecimal loanFee03ValMax) {
        this.loanFee03ValMax = loanFee03ValMax;
    }

    
    @Column(name="LOAN_FEE_04_CALC_TYPE")
    public Short getLoanFee04CalcType() {
        return this.loanFee04CalcType;
    }
    
    public void setLoanFee04CalcType(Short loanFee04CalcType) {
        this.loanFee04CalcType = loanFee04CalcType;
    }

    
    @Column(name="LOAN_FEE_04_PERC", precision=10)
    public BigDecimal getLoanFee04Perc() {
        return this.loanFee04Perc;
    }
    
    public void setLoanFee04Perc(BigDecimal loanFee04Perc) {
        this.loanFee04Perc = loanFee04Perc;
    }

    
    @Column(name="LOAN_FEE_04_VAL_MIN", precision=10)
    public BigDecimal getLoanFee04ValMin() {
        return this.loanFee04ValMin;
    }
    
    public void setLoanFee04ValMin(BigDecimal loanFee04ValMin) {
        this.loanFee04ValMin = loanFee04ValMin;
    }

    
    @Column(name="LOAN_FEE_04_VAL_MAX", precision=10)
    public BigDecimal getLoanFee04ValMax() {
        return this.loanFee04ValMax;
    }
    
    public void setLoanFee04ValMax(BigDecimal loanFee04ValMax) {
        this.loanFee04ValMax = loanFee04ValMax;
    }

    
    @Column(name="LOAN_FEE_05_CALC_TYPE")
    public Short getLoanFee05CalcType() {
        return this.loanFee05CalcType;
    }
    
    public void setLoanFee05CalcType(Short loanFee05CalcType) {
        this.loanFee05CalcType = loanFee05CalcType;
    }

    
    @Column(name="LOAN_FEE_05_PERC", precision=10)
    public BigDecimal getLoanFee05Perc() {
        return this.loanFee05Perc;
    }
    
    public void setLoanFee05Perc(BigDecimal loanFee05Perc) {
        this.loanFee05Perc = loanFee05Perc;
    }

    
    @Column(name="LOAN_FEE_05_VAL_MIN", precision=10)
    public BigDecimal getLoanFee05ValMin() {
        return this.loanFee05ValMin;
    }
    
    public void setLoanFee05ValMin(BigDecimal loanFee05ValMin) {
        this.loanFee05ValMin = loanFee05ValMin;
    }

    
    @Column(name="LOAN_FEE_05_VAL_MAX", precision=10)
    public BigDecimal getLoanFee05ValMax() {
        return this.loanFee05ValMax;
    }
    
    public void setLoanFee05ValMax(BigDecimal loanFee05ValMax) {
        this.loanFee05ValMax = loanFee05ValMax;
    }

    
    @Column(name="CC_INTEREST_RATE_DISC_VAL", precision=15)
    public BigDecimal getCcInterestRateDiscVal() {
        return this.ccInterestRateDiscVal;
    }
    
    public void setCcInterestRateDiscVal(BigDecimal ccInterestRateDiscVal) {
        this.ccInterestRateDiscVal = ccInterestRateDiscVal;
    }

    
    @Column(name="CC_INTEREST_RATE_DISC_PERC", precision=10)
    public BigDecimal getCcInterestRateDiscPerc() {
        return this.ccInterestRateDiscPerc;
    }
    
    public void setCcInterestRateDiscPerc(BigDecimal ccInterestRateDiscPerc) {
        this.ccInterestRateDiscPerc = ccInterestRateDiscPerc;
    }

    
    @Column(name="STATUS_IS_ACTIVE")
    public Short getStatusIsActive() {
        return this.statusIsActive;
    }
    
    public void setStatusIsActive(Short statusIsActive) {
        this.statusIsActive = statusIsActive;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="saleConditionType")
    public Set<SaleConditionTypeOrgAllow> getSaleConditionTypeOrgAllows() {
        return this.saleConditionTypeOrgAllows;
    }
    
    public void setSaleConditionTypeOrgAllows(Set<SaleConditionTypeOrgAllow> saleConditionTypeOrgAllows) {
        this.saleConditionTypeOrgAllows = saleConditionTypeOrgAllows;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="saleConditionType")
    public Set<SaleLoanOffer> getSaleLoanOffers() {
        return this.saleLoanOffers;
    }
    
    public void setSaleLoanOffers(Set<SaleLoanOffer> saleLoanOffers) {
        this.saleLoanOffers = saleLoanOffers;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="saleConditionType")
    public Set<SaleConditionTypeLoanTerm> getSaleConditionTypeLoanTerms() {
        return this.saleConditionTypeLoanTerms;
    }
    
    public void setSaleConditionTypeLoanTerms(Set<SaleConditionTypeLoanTerm> saleConditionTypeLoanTerms) {
        this.saleConditionTypeLoanTerms = saleConditionTypeLoanTerms;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="saleConditionType")
    public Set<SaleLoanContract> getSaleLoanContracts() {
        return this.saleLoanContracts;
    }
    
    public void setSaleLoanContracts(Set<SaleLoanContract> saleLoanContracts) {
        this.saleLoanContracts = saleLoanContracts;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="saleConditionType")
    public Set<SaleConditionTypeCcRate> getSaleConditionTypeCcRates() {
        return this.saleConditionTypeCcRates;
    }
    
    public void setSaleConditionTypeCcRates(Set<SaleConditionTypeCcRate> saleConditionTypeCcRates) {
        this.saleConditionTypeCcRates = saleConditionTypeCcRates;
    }




}


